import {
  getData,
  goTo
} from '../../utils/http.js';
const app = getApp();
Page({

  /**
   * 页面的初始数据
   */
  data: {
    backImg : '../../image/play-back.png',
    playList:{
        p_name : '默认歌名',  //歌名
        p_id : '',    //歌曲id
        al_name : '', //专辑
        ar_name : '默认歌', //歌手
        picUrl : ''   //封面
    },
    currentTime: '0:00',  //当前播放时间
    sliderValue : 0,  //进度条值
    playS : true,
  },

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: function (options) {
    this.playMusic(options.id)
    this.setData({
      playList: app.globalData.playList
    })
    
  },

  //播放音乐
  playMusic (id) {
    getData('/song/url',{
      id
    }).then((res) => {
      let data = this.data.playList;
      let audio = wx.getBackgroundAudioManager();
      audio.title = data.p_name || "音频标题";
      audio.epname = data.p_name || "专辑名称";
      audio.singer = data.p_name || "歌手名";
      audio.coverImgUrl = data.picUrl;
      audio.onTimeUpdate(this.onTimeUpdate) // 监听背景音频播放进度更新事件
      // 设置了 src 之后会自动播放
      audio.src = res.data[0].url;
      
      // manager.currentTime = 0;
      this.setData({
        duration : this.stotime(audio.duration),
        currentTime : this.stotime(audio.currentTime),
        playS : true
      })
    
    })  
  },
  // 播放或暂停音乐
  play () {
    let status = this.data.playS;
    let audio = wx.getBackgroundAudioManager();
    if (status) {
      // 暂停播放
      audio.pause()
      this.setData({
        playS : false
      })
      return false
    }
    // 播放音乐
    audio.play()
    this.setData({
      playS : true
    })
  },
  //监听背景音频播放进度更新事件
  onTimeUpdate () {
    let audio = wx.getBackgroundAudioManager();
    let sliderValue = audio.currentTime / audio.duration * 100;
    // console.log(audio.currentTime,audio.duration)
    this.setData({
      currentTime: this.stotime(audio.currentTime),
      sliderValue: sliderValue,
      duration: this.stotime(audio.duration)
    })
  },

  //拖动进度条
  onChange(e) {
    let audio = wx.getBackgroundAudioManager();
    let s = e.detail / 100 * audio.duration;   //计算拖动进度条的秒值
    audio.seek(s,audio.currentTime);  //跳转到指定秒值
    this.setData({
      currentTime: this.stotime(s),
      sliderValue: e.detail,
    })
    
    // console.log()
  },
  
  // 时间格式转换
  stotime(s) {
    let t = ''
    if (s > -1) {
      let min = Math.floor(s / 60) % 60;
      let sec = Math.floor(s) % 60
      if (min < 10) { t += '0' }
      t += min + ':'
      if (sec < 10) { t += '0' }
      t += sec
    }
    return t
  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function () {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function () {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function () {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function () {

  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function () {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function () {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function () {

  }
})